/*
 * @Author: 晟松
 * @Date: 2021-12-14 23:55:37
 * @LastEditors: 晟松
 * @LastEditTime: 2022-01-25 21:29:52
 * @FilePath: \mini-vue3d:\Code\node\koa2\volunteer-service\src\main\model\GlobalMessage.js
 * @Description: 给一类用户，如辅导员给自己的所有学生，局维护给自己的所有居民,根据发送者的id和identity确认
 */
import Sequelize from "sequelize";
import { isPhone, isValidateEnum } from "@main/util/ValidateUtil";
import { ParamError } from "../common/CommonError";

export const modelName = "globalMessage";

const DataTypes = Sequelize.DataTypes;

export const attributes = {
    fromId: {
        type: DataTypes.INTEGER,
    },
    // 
    fromIdentity: {
        type: DataTypes.INTEGER,
        validate: {
            check(val) {
                if (!isValidateEnum(val, "identity")) {
                    throw new ParamError(`identity：${val}值错误`);
                }
            },
        },
    },
    title: {
        type: DataTypes.STRING,
        allowNull: false,
    },
    // message可谓普通文本，也可为富文本
    message: {
        type: DataTypes.STRING(2000),
    },
    // 为true是公开发送给全体人员，一般是系统管理员发的.为false就是居委会发给自己所有的居民这种
    isPublic: {
        type: DataTypes.BOOLEAN,
    },
    // 这两个是关于区块链的一个记录，主要是记录其中的交易hash和块hash，通过这两个hash就可从区块链中获取到对应的信息
    transactionHash: DataTypes.STRING,
    blockHash: DataTypes.STRING,
};

export const options = {
    // tableName: "t_user_reference",
};
